import ACCESS_ENUM from "@/access/accessEnum";

/**
 * 检查权限（判断当前登录用户是否具有某个权限）
 * @param loginUser 当前登录用户
 * @param needAccess 需要有的权限
 * @return boolean 有无权限
 */
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {
    // 获取当前用户的权限等级（默认未登录）
    const loginUserAccess=loginUser?.userRole??ACCESS_ENUM.NOT_LOGIN
    // 如果目标资源需要未登录=》放行（默认就是未登录）
    if(needAccess===ACCESS_ENUM.NOT_LOGIN)
    {
      return true;
    }
    // 如果目标资源需要用户权限
    if(needAccess===ACCESS_ENUM.USER){
      // 如果当前用户还没登录=》拒绝
      if(loginUserAccess===ACCESS_ENUM.NOT_LOGIN){
        return false
      }
    }
    // 如果目标资源需要管理员权限
    if(needAccess===ACCESS_ENUM.ADMIN){
      // 如果当前用户权限不是管理员=》拒绝
      if(loginUserAccess!==ACCESS_ENUM.ADMIN){
        return false;
      }
    }
    return true;
  
  }

export default checkAccess;
